One of the most challenging tasks for a system administrator is to bootstrap (boot) computer systems, or to start up computer systems into a working state. When many computer clients must be booted, one popular solution is to utilize a PXE booting environment. PXE booting allows a computer to boot without having to physically insert a boot disk into the machine or have an operating system already installed. PXE booting relies on the functionality of the Dynamic Host Configuration Protocol (DHCP) and Trivial File Transfer Protocol (TFTP) to send a small software boot image down to the network interface card of client machines. DHCP is used by a client to locate a boot server from which the client will receive the software boot image. Additionally, TFTP is used to actually download the software boot image. If PXE booting is carried out on a computer lab filled with many client machines, a system administrator may perform unattended operating system installs on each machine simultaneously saving the system administrator from having to install an operating system on each individual computer.
A problem exists where many systems attempt to PXE boot simultaneously. The PXE server machine, also typically configured as a TFTP server, and which is responsible for sending the small software images to the clients, may become over-utilized and may not be able to keep up with numerous client requests. Furthermore, if a proxy DHCP server is used, the response packets can get “lost” due to the high demand of machine PXE booting. Industry solutions currently handle this scenario by queuing machines at deploy time, by utilizing pre-existing TFTP servers, and/or using a multicast TFTP configuration (MTFTP) service.